1. Field of the Invention
This invention relates in general to a method and apparatus for processing audio/video information, and more particularly to a method and apparatus for providing passed pointer detection in audio/video streams on disk media.
2. Description of Related Art
Advancements in communications technology and increased consumer sophistication have challenged the distributors of multimedia programming to provide the subscribing public with entertainment services more convenient and accessible than those traditionally made available over cable television and telephone systems. An improving communications infrastructure has resulted in a proliferation of pay-per-view media services in many of the larger broadcast markets. Most pay-per-view systems permit the consumer to choose from a relatively small number of motion picture selections for home viewing, with the selected programs generally being presented only at pre-scheduled viewing times.
In recent years, the media industry has expanded its horizons beyond traditional analog technologies. Audio, photographs, and even feature films are now being recorded or converted into digital formats. To encourage compatibility between products, standard formats have been developed in many of the media categories.
As would be expected, the viewers of digital video desire the same functionality from the providers of digital video as they now enjoy while watching analog video tapes on video cassette recorders. For example, viewers want to be able to make the video jump ahead, jump back, fast forward, fast rewind, slow forward, slow rewind and freeze frame.
Various approaches have been developed to provide non-sequential playback of digital video data. With respect to digital video data, non-sequential playback refers to any playback operation that does not play all of the encoded frames in the exact order in the sequence in which they were encoded. For example, jump ahead and fast forward operations are non-sequential in that some frames are skipped. Rewind operations at any speed are non-sequential in that during a rewind operation, frames are not played in the sequence in which they are encoded.
Data used for Audio/Video (AV) applications is typically stored in contiguous areas on disk drives and accessed sequentially. Computer systems access disk drives by logical block number. For digital Audio/Video applications it is useful to refer to the data structure for disk drives as a stream. A stream is a range of addresses on the disk media in which a contiguous area of Audio/Video data is stored. AV applications stream data on and off disk drives by writing contiguous blocks so it would be easier to assume that the next location accessed it the next contiguous location. A useful way to address such a stream of AV data is to establish read and write pointers that indicate the next sector to be read or written in stream. With read and write pointers a drive may be commanded to return the next read data or write the next write data without including the absolute address of the location in the command.
However, a problem arises when using pointers to read and write simultaneously to the same stream in different locations. This happens during a playback pause while watching a live feed. The reading is paused but the write continues, the write pointer moves down the stream area. When the playback is resumed the read starts from where it stopped, without reference to the location of the write pointer. If, the person watching the stream pushes the fast forward button to skip forward in the stream it is possible to move the read pointer past the write pointer, into old data that has not been recently written. This results in the anomalous behavior of fast forwarding into the past.
It can be seen then that there is a need for a method and apparatus that provides a warning when manipulating the pointers that one pointer has passed the other.
To overcome the limitations in the prior art described above, and to overcome other limitations that will become apparent upon reading and understanding the present specification, the present invention discloses a method and apparatus for providing passed pointer detection in audio/video streams on disk media.
The present invention solves the above-described problems by setting-up an audio/video stream on a disk drive, using read and write commands for accessing contiguous data and providing a pointer system that provides a warning when manipulating the pointers during fast forward and reverse functions that one pointer has passed the other.
A method in accordance with the principles of the present invention includes monitoring the position of a first pointer and a second pointer in at least one stream during a command execution, determining when the positions of the first and second pointers cross to create a passed pointer state, setting an indicator to signal that a passed pointer state has occurred and using the passed pointer indicator to prevent anomalous behavior in processing of the at least one stream.
Other embodiments of a method in accordance with the principles of the invention may include alternative or optional additional aspects. One such aspect of the present invention is that the first pointer is a read pointer and the second pointer is a write pointer.
Another aspect of the present invention is that the first pointer is a write pointer of a first stream and the second pointer is a read pointer of a second stream.
Another aspect of the present invention is that the first stream is a primary stream and the second stream is a linked stream.
Another aspect of the present invention is that the method further includes completing execution of the command.
Another aspect of the present invention is that the anomalous behavior includes fast-forwarding into old data.
In another embodiment of the present invention, a remote multimedia server is provided. The remote multimedia server includes a mass storage library for storing a plurality of multimedia programs each segmented into at least one audio/video stream, transmission means for transmitting the at least one audio/video stream to a communication channel and a local media control system comprising a direct access storage device including at least one data storage disk and a controller for processing the coordinating writing of the at least one audio/video stream received from the communication channel to the data storage disk, and for coordinating reading of the at least one audio/video stream from the data storage disk, the controller providing passed pointer detection in the at least one audio/video stream by monitoring the position of a first pointer and a second pointer in at least one stream during a command execution, determining when the positions of the first and second pointers cross to create a passed pointer state, setting an indicator to signal that a passed pointer state has occurred and using the passed pointer indicator to prevent anomalous behavior in processing of the at least one stream.
In another embodiment of the present invention, a direct access storage device is provided. The direct access storage device includes at least one data storage disk and a controller for processing the coordinating writing of the at least one audio/video stream received from the communication channel to the data storage disk, and for coordinating reading of the at least one audio/video stream from the data storage disk, the controller further providing passed pointer detection in the at least one audio/video stream by monitoring the position of a first pointer and a second pointer in at least one stream during a command execution, determining when the positions of the first and second pointers cross to create a passed pointer state, setting an indicator to signal that a passed pointer state has occurred and using the passed pointer indicator to prevent anomalous behavior in processing of the at least one stream.
In another embodiment of the present invention, am article of manufacture is provided. The article of manufacture includes a program storage medium readable by a computer, the medium tangibly embodying one or more programs of instructions executable by the computer to perform a method for providing passed pointer detection in audio/video streams on disk media, the method including monitoring the position of a first pointer and a second pointer in at least one stream during a command execution, determining when the positions of the first and second pointers cross to create a passed pointer state, setting an indicator to signal that a passed pointer state has occurred and using the passed pointer indicator to prevent anomalous behavior in processing of the at least one stream.
These and various other advantages and features of novelty which characterize the invention are pointed out with particularity in the claims annexed hereto and form a part hereof. However, for a better understanding of the invention, its advantages, and the objects obtained by its use, reference should be made to the drawings which form a further part hereof, and to accompanying descriptive matter, in which there are illustrated and described specific examples of an apparatus in accordance with the invention.